<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the fromFunction method from the Pointer class, for the Dart programming language.">
  <title>fromFunction method - Pointer class - dart:ffi library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">
  <!-- header placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">flutter_form_builder</a></li>
    <li><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></li>
    <li><a href="dart-ffi/Pointer-class.html">Pointer<span class="signature">&lt;<wbr><span class="type-parameter">T extends NativeType</span>&gt;</span></a></li>
    <li class="self-crumb">fromFunction&lt;<wbr><span class="type-parameter">T extends Function</span>&gt; method</li>
  </ol>
  <div class="self-name">fromFunction</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">flutter_form_builder</a></li>
      <li><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></li>
      <li><a href="dart-ffi/Pointer-class.html">Pointer<span class="signature">&lt;<wbr><span class="type-parameter">T extends NativeType</span>&gt;</span></a></li>
      <li class="self-crumb">fromFunction&lt;<wbr><span class="type-parameter">T extends Function</span>&gt; method</li>
    </ol>
    
    <h5>Pointer class</h5>
    <ol>
    
        <li class="section-title"><a href="dart-ffi/Pointer-class.html#constructors">Constructors</a></li>
        <li><a href="dart-ffi/Pointer/Pointer.fromAddress.html">fromAddress</a></li>
    
        <li class="section-title">
            <a href="dart-ffi/Pointer-class.html#instance-properties">Properties</a>
        </li>
        <li><a href="dart-ffi/Pointer/address.html">address</a></li>
        <li><a href="dart-ffi/Pointer/hashCode.html">hashCode</a></li>
        <li class="inherited"><a href="dart-core/Object/runtimeType.html">runtimeType</a></li>
    
        <li class="section-title"><a href="dart-ffi/Pointer-class.html#instance-methods">Methods</a></li>
        <li><a href="dart-ffi/Pointer/asFunction.html">asFunction</a></li>
        <li><a href="dart-ffi/Pointer/cast.html">cast</a></li>
        <li><a href="dart-ffi/Pointer/elementAt.html">elementAt</a></li>
        <li class="inherited"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
        <li class="inherited"><a href="dart-core/Object/toString.html">toString</a></li>
    
        <li class="section-title"><a href="dart-ffi/Pointer-class.html#operators">Operators</a></li>
        <li><a href="dart-ffi/Pointer/operator_equals.html">operator ==</a></li>
    
    
        <li class="section-title"><a href="dart-ffi/Pointer-class.html#static-methods">Static methods</a></li>
        <li><a href="dart-ffi/Pointer/fromFunction.html">fromFunction</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

  <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
      <div><h1><span class="kind-method">fromFunction&lt;<wbr><span class="type-parameter">T extends Function</span>&gt;</span> method</h1></div>

    <section class="multi-line-signature">
      <span class="returntype"><a href="dart-ffi/Pointer-class.html">Pointer</a><span class="signature">&lt;<wbr><span class="type-parameter"><a href="dart-ffi/NativeFunction-class.html">NativeFunction</a><span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span></span>&gt;</span></span>
            <span class="name ">fromFunction</span>
&lt;<wbr><span class="type-parameter">T extends Function</span>&gt;(<wbr><span class="parameter" id="fromFunction-param-f"><span>@<a href="dart-ffi/DartRepresentationOf-class.html">DartRepresentationOf</a>(&quot;T&quot;)</span> <span class="type-annotation"><a href="dart-core/Function-class.html">Function</a></span> <span class="parameter-name">f</span>, [</span> <span class="parameter" id="fromFunction-param-exceptionalReturn"><span class="type-annotation"><a href="dart-core/Object-class.html">Object</a></span> <span class="parameter-name">exceptionalReturn</span></span> ])
      
    </section>
    <section class="desc markdown">
      <p>Convert Dart function to a C function pointer, automatically marshalling
the arguments and return value</p>
<p>If an exception is thrown while calling <code>f()</code>, the native function will
return <code>exceptionalReturn</code>, which must be assignable to return type of <code>f</code>.</p>
<p>The returned function address can only be invoked on the mutator (main)
thread of the current isolate. It will abort the process if invoked on any
other thread.</p>
<p>The pointer returned will remain alive for the duration of the current
isolate's lifetime. After the isolate it was created in is terminated,
invoking it from native code will cause undefined behavior.</p>
<p>Does not accept dynamic invocations -- where the type of the receiver is
<code>dynamic</code>.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Implementation</span></h2>
      <pre class="language-dart"><code class="language-dart">external static Pointer&lt;NativeFunction&lt;T&gt;&gt; fromFunction&lt;T extends Function&gt;(
    @DartRepresentationOf(&quot;T&quot;) Function f,
    [Object exceptionalReturn]);</code></pre>
    </section>

  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    flutter_form_builder
      3.8.2
  </span>

  <!-- footer-text placeholder -->
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>
<!-- footer placeholder -->

</body>

</html>
